home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / lib / mlib33d.zoo / ffs.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-04  |  353 b   |  23 lines

  1. /* Find first set bit.  By entropy@terminator.rs.itd.umich.edu.
  2.    Public domain.
  3. */
  4.  
  5. #include <support.h>
  6.  
  7. int
  8. ffs(bits)
  9.   int bits;
  10. {
  11.   register int i;
  12.   register int mask;
  13.  
  14.   if (!bits)
  15.     return 0;
  16.   mask = 0xFF;
  17.   for (i = 1; !(bits & mask); i += 8)
  18.     mask <<= 8;
  19.   for (mask = (1 << (i - 1)); !(bits & mask); i++)
  20.     mask <<= 1;
  21.   return i;
  22. }
  23.